"""
元组和列表一样，都是可以封装多个，不同元素的类型在内
但是最大的不同在于： 元组一旦定义完成，就不可修改
# 定义元组字面量
（元素1，元素2，元素3）
# 定义元素变量
变量名称=（元素1，元素2，元素3）
# 定义空元组
变量名称 = （）
变量名称= tuple()
"""

# 定义元组
t1 = (1, "hello", True)
t2 = ()
t3 = tuple()
print(f"t1内容:{t1},类型:{type(t1)}")
print(f"t2内容:{t2},类型:{type(t2)}")
print(f"t3内容:{t3},类型:{type(t3)}")

# 定义单个元素的元素 注意需要加逗号
t4 = ("hello", )
print(f"t4内容:{t4},类型:{type(t4)}")
# t5 = tuple("hello","1")
# print(f"t5内容:{t5},类型:{type(t5)}")

# 元组的嵌套
t5 = ((1,2,3),(4,5,6))
print(f"t5的类型是：{type(t5)},内容是：{t5}")

# 下标索引去取出内容
print(f"t5嵌套元组取出的应该是6，实际是：{t5[1][2]}")


# 元组的操作：index查找方法
t6 = ("传智教育","黑马程序员","Python")
index = t6.index("黑马程序员")
print(f"t6元组中【黑马程序员】的位置应该是1 实际是：{index}")

# 元组的操作：count统计方法
t7 = ("传智教育","黑马程序员","Python","黑马程序员","黑马程序员")

print(f'在元组t7中 黑马程序员的数量应该是3 实际是： {t7.count("黑马程序员")}')

# 元组的操作：len函数统计元组元素数量

# 元组的遍历：while
index = 0
while index < len(t7):
    print(t7[index])
    index += 1
# 元组的遍历：for
for temp in t7:
    print(f"{temp}", end="\t")

# 修改元组内容 不可以！！！
# t7[0] = "itcast"

# 定义一个元组
print()
t9 = ("1","2",["iTheima","黑马程序员"])
print(f"t9的内容是{t9}")
t9[2][0] = "传智教育"
print(f"t9修改后的内容是{t9}")

# 下面这个仍然是报错的
"""
t10 = ("1","2",("iTheima","黑马程序员"))
print(f"t10的内容是{t10}")
t10[2][0] = "传智教育"
print(f"t10修改后的内容是{t10}")
"""

